Addendum to the Article “Types vs. PDGs in Information Flow Analysis” – Proofs and Operational Semantics
نویسندگان
چکیده
Before proving Lemma 1 from [MS13] we prove several propositions that relate paths in the graph PDG(CFG c ) where c is of the form if (e) then c1 else c2 fi, while (e) do c1 od, or c1; c2 to paths in the graphs PDG(CFG I,O c1 ) and (if applicable) PDG(CFG c2 ). In the proofs, we write p + k for the path that is obtained from p by adding k to each node on p that is a natural number, and leaving start and stop unchanged. Moreover, we write p−k for the path that is obtained from p by subtracting k from each node on p that is a natural number, and leaving start and stop unchanged.
منابع مشابه
Semantical Equivalence of the Control Flow Graph and the Program Dependence Graph
The program dependence graph (PDG) represents data and control dependence between statements in a program. This paper presents an operational semantics of program dependence graphs. Since PDGs exclude artificial order of statements that resides in sequential programs, executions of PDGs are not unique. However, we identified a class of PDGs that have unique final states of executions, called de...
متن کاملTypes vs. PDGs in Information Flow Analysis
Type-based and PDG-based information flow analysis techniques are currently developed independently in a competing manner, with different strengths regarding coverage of language features and security policies. In this article, we study the relationship between these two approaches. One key insight is that a type-based information flow analysis need not be less precise than a PDG-based analysis...
متن کاملStructural and Flow-Sensitive Types for Whiley
Modern statically typed languages require variables to be declared with a single static type, and that subtyping relationships between used-defined types be made explicit. This contrasts with dynamically typed languages, where variables are declared implicitly, can hold values of different types at different points and have no restrictions on flow (leading to ad-hoc and implicit subtyping). We ...
متن کاملCoinductive Big-Step Operational Semantics
Using a call-by-value functional language as an example, this article illustrates the use of coinductive definitions and proofs in big-step operational semantics, enabling it to describe diverging evaluations in addition to terminating evaluations. We formalize the connections between the coinductive big-step semantics and the standard small-step semantics, proving that both semantics are equiv...
متن کاملInformation Flow Control for Java Based on Path Conditions in Dependence Graphs
Language-based information flow control (IFC) is a powerful tool to discover security leaks in software. Most current IFC approaches are however based on nonstandard type systems. Type-based IFC is elegant, but not precise and can lead to false alarms. We present a more precise approach to IFC which exploits active research in static program analysis. Our IFC approach is based on path condition...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013